# 抖码算法，让算法学习变得简单有趣
# 作者：老汤

"""
HJ20 密码验证合格程序

    描述
    密码要求:
        1.长度超过8位
        2.包括大小写字母.数字.其它符号,以上四种至少三种
        3.不能有长度大于2的包含公共元素的子串重复 （注：其他符号不含空格或换行）

    数据范围：输入的字符串长度满足 1≤n≤100

    输入描述：
        一组字符串。

    输出描述：
        如果符合要求输出：OK，否则输出NG

    示例 1
        输入：
            021Abc9000
            021Abc9Abc1
            021ABC9000
            021$bc9000
        输出：
            OK
            NG
            NG
            OK
     练习地址：https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841?tpId=37&tqId=21243&rp=1&ru=/exam/oj/ta&qru=/exam/oj/ta&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D37&difficulty=undefined&judgeStatus=undefined&tags=&title=

"""

while True:
    try:
        line = input()
        m = len(line)
        # 1. 长度必须超过 8 位
        if m <= 8:
            print("NG")
            continue
        # 2. 包括大小写字母、数字、其它符号，以上四种至少三种
        # 用于标记是否出现大写字母、小写字母、数字、其他字符
        seen = [0] * 4
        for c in line:
            if 'A' <= c <= 'Z':
                seen[0] = 1
            elif 'a' <= c <= 'z':
                seen[1] = 1
            elif '0' <= c <= '9':
                seen[2] = 1
            else:
                seen[3] = 1
        if seen[0] + seen[1] + seen[2] + seen[3] < 3:
            print("NG")
            continue
        # 3. 不能有长度大于 2 的包含公共元素的子串重复
        has_repeat = False
        for i in range(0, m - 6, 1):
            for j in range(i + 3, m - 3, 1):
                if (line[i] == line[j]
                        and line[i + 1] == line[j + 1]
                        and line[i + 2] == line[j + 2]):
                    has_repeat = True
                    break
            if has_repeat:
                break
        if has_repeat:
            print("NG")
        else:
            print("OK")
    except:
        break